The Internet may be viewed as containing distributed information and centralized information. The distributed information is located throughout the Internet and typically takes the form of domain name servers and IP addresses, for instance. The centralized information is content, such as web pages and files, which is stored on and served by central servers.
Gaining access to such centralized content, however, is becoming increasingly difficult due to growing Internet congestion, limited bandwidth, and increasing file sizes (especially for media rich content). Traditional Internet technologies for distributing content, such as e-mail, streaming media, and FTP, have proven inadequate. E-mail is inadequate because due to the number of email messages and attachments passing through email servers, restrictions are placed on the sizes of emails that restrict what can be sent as attachments. E-mail also has security issues. PGP encryption is available for securing e-mails, but is not widely adopted.
Streaming media has the disadvantages of not working with all file types and is expensive because providers must purchase different software for the various streaming media standards. Streaming media also has not proven to be a reliable transfer method. And FTP file transfers also have disadvantages, which include being technically challenging to most users, and suffering from inefficient file transfers. There are other solutions for distributing content, but they are usually proprietary and do not scale well.
Another problem with distributing centralized content is cost. As file sizes increase, the distribution of content is becoming increasingly expensive for content providers due to metered pricing of used bandwidth. In metered pricing, a content provider's Internet-Service-Provider (ISP) monitors the output of the servers used to provide the content, and charges the content provider 95% of the peak usage even though the average output is much lower. Thus, the cost of distributing content from central servers is one reason why attempts have been made to decentralize content. In addition, a company's servers almost always have excess bandwidth, particularly during non-business or off-peak hours, that goes unused but paid for.
One way to decentralize content is through peer-to-peer networks. Peer-to-peer network computing is a more efficient means for distributing resources and content over the Internet. In a peer-to-peer network, all workstations and computers in the network may act as servers to all other users on the network. Some peer applications gain efficiencies by aggregating the distributed storage capacity of the computers across the network, such as Napster™ and Gnutella™, or aggregating the idle computing cycles of the computers, such as SETI@home™. Still others, such as instant messaging, take advantage of the direct network connections that peer devices can make to enhance communications.
Although peer networks are effective, current peer networks have disadvantages. One disadvantage is that file transfers across the network are often inefficient. When transporting a file from a sending node to a receiving node, the file may be routed across the network based on factors such as the shortest path. This may result in routing the file across nodes in the network that are heavily congested and have low bandwidth availability, while other nodes in the network are idle. Thus, peer networks are inefficient because they fail to optimize network traffic and often fail to take advantage of unused bandwidth.
In addition, most P2P efforts today are focused on private networks due to copyright liability concerns. For example, Napster has been held liable for the exchange of copyrighted information on its network. Companies are now trying to distance themselves from public networks, because there are currently no established standards between P2P network providers and the copyright holders. This means that information shared on private P2P networks is not available for a broad anonymous mass, but for a self selected pair or group of people who consciously choose to do so. Instead of attempting to propose solutions for public P2P networks, most companies are turning inward towards private P2P networks.
Accordingly, what is needed is a more efficient method for transporting files across a public peer network that optimizes network traffic by taking advantage of unused network bandwidth. The present invention addresses such a need.